"""
1. 导包
2. 配置参数
3. 创建webdriver实例对象
4. 操作
5. 睡一会
6. 退出
"""
# 1. 导包
from appium import webdriver
from time import sleep

# 2. 配置参数
caps = {
    'platformName': 'Android',
    'platformVersion': '5.1.1',
    'deviceName': 'xxxx',
    'appPackage': 'com.android.settings',
    'appActivity': '.Settings'
}
# 3. 创建webdriver实例对象
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',
                          desired_capabilities=caps)
# 4. 操作

# 4.1我们需要 显示 安全的按钮
# 没有在当前屏幕显示的按钮是定位不了的
# 我们需要向下滑动

# 方式1
# driver.swipe(start_x=300,start_y=500,end_x=300,end_y=100)

# 方式2
wlan = driver.find_element_by_xpath('//*[@text="WLAN"]')
app = driver.find_element_by_xpath('//*[@text="应用"]')
driver.scroll(origin_el=app, destination_el=wlan, duration=3000)

# 方式3
# driver.drag_and_drop(origin_el=app,destination_el=wlan)

# 4.2  定位 安全 元素  。然后 轻敲一下（当然 click也可以）
safe = driver.find_element_by_xpath('//*[@text="安全"]')

# ① 创建TouchAction实例对象
from appium.webdriver.common.touch_action import TouchAction

ta = TouchAction(driver)
# ② 调用指定方法
ta.tap(safe)
# ③ 执行
ta.perform()

# 4.3 定位屏幕锁定方式 然后 点击一下
screen = driver.find_element_by_xpath('//*[@text="屏幕锁定方式"]')
screen.click()

sleep(1)
# 4.4 画图
# 因为 画图的界面 不能进行 元素定位，需要使用 x.y的坐标来定位

action = TouchAction(driver)

# 第一个点  # x: 715  y: 200        按一下
action.long_press(x=715, y=200, duration=3000)
# 第二个点  # x: 915  y: 200        移动到这里
action.move_to(x=950, y=200)
# 第三个点  # x: 1115  y: 200       移动到这里
action.move_to(x=1150, y=200)

# 第四个点  # x: 1115  y: 200       移动到这里
action.move_to(x=1150, y=400)

# 第五个点  # x: 1115  y: 200       移动到这里
action.move_to(x=1150, y=600)

action.perform()

# 5. 睡一会
sleep(4)
# 6. 退出
driver.quit()
